/**
 */
package org.xtext.tp4.minigobstones;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see org.xtext.tp4.minigobstones.MinigobstonesFactory
 * @model kind="package"
 * @generated
 */
public interface MinigobstonesPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "minigobstones";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.xtext.org/tp4/Minigobstones";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "minigobstones";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  MinigobstonesPackage eINSTANCE = org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl.init();

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.InitStructureImpl <em>Init Structure</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.InitStructureImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getInitStructure()
   * @generated
   */
  int INIT_STRUCTURE = 0;

  /**
   * The feature id for the '<em><b>Definitions</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INIT_STRUCTURE__DEFINITIONS = 0;

  /**
   * The number of structural features of the '<em>Init Structure</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INIT_STRUCTURE_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.DefinitionImpl <em>Definition</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.DefinitionImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getDefinition()
   * @generated
   */
  int DEFINITION = 1;

  /**
   * The number of structural features of the '<em>Definition</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITION_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.ProcedureDefImpl <em>Procedure Def</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.ProcedureDefImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getProcedureDef()
   * @generated
   */
  int PROCEDURE_DEF = 2;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PROCEDURE_DEF__NAME = DEFINITION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Commands</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PROCEDURE_DEF__COMMANDS = DEFINITION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Procedure Def</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PROCEDURE_DEF_FEATURE_COUNT = DEFINITION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.ConditionImpl <em>Condition</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.ConditionImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getCondition()
   * @generated
   */
  int CONDITION = 3;

  /**
   * The number of structural features of the '<em>Condition</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONDITION_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.HayBolitasImpl <em>Hay Bolitas</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.HayBolitasImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getHayBolitas()
   * @generated
   */
  int HAY_BOLITAS = 4;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int HAY_BOLITAS__NAME = CONDITION_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int HAY_BOLITAS__TYPE = CONDITION_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Hay Bolitas</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int HAY_BOLITAS_FEATURE_COUNT = CONDITION_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.CommandsImpl <em>Commands</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.CommandsImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getCommands()
   * @generated
   */
  int COMMANDS = 5;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int COMMANDS__NAME = 0;

  /**
   * The number of structural features of the '<em>Commands</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int COMMANDS_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.PutImpl <em>Put</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.PutImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getPut()
   * @generated
   */
  int PUT = 6;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PUT__NAME = COMMANDS__NAME;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PUT__TYPE = COMMANDS_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Put</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PUT_FEATURE_COUNT = COMMANDS_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.MoveImpl <em>Move</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.MoveImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getMove()
   * @generated
   */
  int MOVE = 7;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MOVE__NAME = COMMANDS__NAME;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MOVE__TYPE = COMMANDS_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Move</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MOVE_FEATURE_COUNT = COMMANDS_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.IfElseImpl <em>If Else</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.IfElseImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getIfElse()
   * @generated
   */
  int IF_ELSE = 8;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IF_ELSE__NAME = COMMANDS__NAME;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IF_ELSE__TYPE = COMMANDS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Commands</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IF_ELSE__COMMANDS = COMMANDS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>If Else</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IF_ELSE_FEATURE_COUNT = COMMANDS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.TypeMovementImpl <em>Type Movement</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.TypeMovementImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getTypeMovement()
   * @generated
   */
  int TYPE_MOVEMENT = 9;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_MOVEMENT__NAME = 0;

  /**
   * The number of structural features of the '<em>Type Movement</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_MOVEMENT_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.WestImpl <em>West</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.WestImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getWest()
   * @generated
   */
  int WEST = 10;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int WEST__NAME = TYPE_MOVEMENT__NAME;

  /**
   * The number of structural features of the '<em>West</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int WEST_FEATURE_COUNT = TYPE_MOVEMENT_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.EastImpl <em>East</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.EastImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getEast()
   * @generated
   */
  int EAST = 11;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EAST__NAME = TYPE_MOVEMENT__NAME;

  /**
   * The number of structural features of the '<em>East</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EAST_FEATURE_COUNT = TYPE_MOVEMENT_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.NorthImpl <em>North</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.NorthImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getNorth()
   * @generated
   */
  int NORTH = 12;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NORTH__NAME = TYPE_MOVEMENT__NAME;

  /**
   * The number of structural features of the '<em>North</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NORTH_FEATURE_COUNT = TYPE_MOVEMENT_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.SouthImpl <em>South</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.SouthImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getSouth()
   * @generated
   */
  int SOUTH = 13;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SOUTH__NAME = TYPE_MOVEMENT__NAME;

  /**
   * The number of structural features of the '<em>South</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SOUTH_FEATURE_COUNT = TYPE_MOVEMENT_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.TypeColorImpl <em>Type Color</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.TypeColorImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getTypeColor()
   * @generated
   */
  int TYPE_COLOR = 14;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_COLOR__NAME = 0;

  /**
   * The number of structural features of the '<em>Type Color</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_COLOR_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.BlackImpl <em>Black</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.BlackImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getBlack()
   * @generated
   */
  int BLACK = 15;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BLACK__NAME = TYPE_COLOR__NAME;

  /**
   * The number of structural features of the '<em>Black</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BLACK_FEATURE_COUNT = TYPE_COLOR_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.RedImpl <em>Red</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.RedImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getRed()
   * @generated
   */
  int RED = 16;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RED__NAME = TYPE_COLOR__NAME;

  /**
   * The number of structural features of the '<em>Red</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RED_FEATURE_COUNT = TYPE_COLOR_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.BlueImpl <em>Blue</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.BlueImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getBlue()
   * @generated
   */
  int BLUE = 17;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BLUE__NAME = TYPE_COLOR__NAME;

  /**
   * The number of structural features of the '<em>Blue</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BLUE_FEATURE_COUNT = TYPE_COLOR_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link org.xtext.tp4.minigobstones.impl.GreenImpl <em>Green</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.xtext.tp4.minigobstones.impl.GreenImpl
   * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getGreen()
   * @generated
   */
  int GREEN = 18;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GREEN__NAME = TYPE_COLOR__NAME;

  /**
   * The number of structural features of the '<em>Green</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GREEN_FEATURE_COUNT = TYPE_COLOR_FEATURE_COUNT + 0;


  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.InitStructure <em>Init Structure</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Init Structure</em>'.
   * @see org.xtext.tp4.minigobstones.InitStructure
   * @generated
   */
  EClass getInitStructure();

  /**
   * Returns the meta object for the containment reference list '{@link org.xtext.tp4.minigobstones.InitStructure#getDefinitions <em>Definitions</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Definitions</em>'.
   * @see org.xtext.tp4.minigobstones.InitStructure#getDefinitions()
   * @see #getInitStructure()
   * @generated
   */
  EReference getInitStructure_Definitions();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Definition <em>Definition</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Definition</em>'.
   * @see org.xtext.tp4.minigobstones.Definition
   * @generated
   */
  EClass getDefinition();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.ProcedureDef <em>Procedure Def</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Procedure Def</em>'.
   * @see org.xtext.tp4.minigobstones.ProcedureDef
   * @generated
   */
  EClass getProcedureDef();

  /**
   * Returns the meta object for the attribute '{@link org.xtext.tp4.minigobstones.ProcedureDef#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.xtext.tp4.minigobstones.ProcedureDef#getName()
   * @see #getProcedureDef()
   * @generated
   */
  EAttribute getProcedureDef_Name();

  /**
   * Returns the meta object for the containment reference list '{@link org.xtext.tp4.minigobstones.ProcedureDef#getCommands <em>Commands</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Commands</em>'.
   * @see org.xtext.tp4.minigobstones.ProcedureDef#getCommands()
   * @see #getProcedureDef()
   * @generated
   */
  EReference getProcedureDef_Commands();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Condition <em>Condition</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Condition</em>'.
   * @see org.xtext.tp4.minigobstones.Condition
   * @generated
   */
  EClass getCondition();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.HayBolitas <em>Hay Bolitas</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Hay Bolitas</em>'.
   * @see org.xtext.tp4.minigobstones.HayBolitas
   * @generated
   */
  EClass getHayBolitas();

  /**
   * Returns the meta object for the attribute '{@link org.xtext.tp4.minigobstones.HayBolitas#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.xtext.tp4.minigobstones.HayBolitas#getName()
   * @see #getHayBolitas()
   * @generated
   */
  EAttribute getHayBolitas_Name();

  /**
   * Returns the meta object for the containment reference '{@link org.xtext.tp4.minigobstones.HayBolitas#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see org.xtext.tp4.minigobstones.HayBolitas#getType()
   * @see #getHayBolitas()
   * @generated
   */
  EReference getHayBolitas_Type();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Commands <em>Commands</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Commands</em>'.
   * @see org.xtext.tp4.minigobstones.Commands
   * @generated
   */
  EClass getCommands();

  /**
   * Returns the meta object for the attribute '{@link org.xtext.tp4.minigobstones.Commands#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.xtext.tp4.minigobstones.Commands#getName()
   * @see #getCommands()
   * @generated
   */
  EAttribute getCommands_Name();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Put <em>Put</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Put</em>'.
   * @see org.xtext.tp4.minigobstones.Put
   * @generated
   */
  EClass getPut();

  /**
   * Returns the meta object for the containment reference '{@link org.xtext.tp4.minigobstones.Put#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see org.xtext.tp4.minigobstones.Put#getType()
   * @see #getPut()
   * @generated
   */
  EReference getPut_Type();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Move <em>Move</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Move</em>'.
   * @see org.xtext.tp4.minigobstones.Move
   * @generated
   */
  EClass getMove();

  /**
   * Returns the meta object for the containment reference '{@link org.xtext.tp4.minigobstones.Move#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see org.xtext.tp4.minigobstones.Move#getType()
   * @see #getMove()
   * @generated
   */
  EReference getMove_Type();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.IfElse <em>If Else</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>If Else</em>'.
   * @see org.xtext.tp4.minigobstones.IfElse
   * @generated
   */
  EClass getIfElse();

  /**
   * Returns the meta object for the containment reference '{@link org.xtext.tp4.minigobstones.IfElse#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see org.xtext.tp4.minigobstones.IfElse#getType()
   * @see #getIfElse()
   * @generated
   */
  EReference getIfElse_Type();

  /**
   * Returns the meta object for the containment reference list '{@link org.xtext.tp4.minigobstones.IfElse#getCommands <em>Commands</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Commands</em>'.
   * @see org.xtext.tp4.minigobstones.IfElse#getCommands()
   * @see #getIfElse()
   * @generated
   */
  EReference getIfElse_Commands();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.TypeMovement <em>Type Movement</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Type Movement</em>'.
   * @see org.xtext.tp4.minigobstones.TypeMovement
   * @generated
   */
  EClass getTypeMovement();

  /**
   * Returns the meta object for the attribute '{@link org.xtext.tp4.minigobstones.TypeMovement#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.xtext.tp4.minigobstones.TypeMovement#getName()
   * @see #getTypeMovement()
   * @generated
   */
  EAttribute getTypeMovement_Name();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.West <em>West</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>West</em>'.
   * @see org.xtext.tp4.minigobstones.West
   * @generated
   */
  EClass getWest();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.East <em>East</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>East</em>'.
   * @see org.xtext.tp4.minigobstones.East
   * @generated
   */
  EClass getEast();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.North <em>North</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>North</em>'.
   * @see org.xtext.tp4.minigobstones.North
   * @generated
   */
  EClass getNorth();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.South <em>South</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>South</em>'.
   * @see org.xtext.tp4.minigobstones.South
   * @generated
   */
  EClass getSouth();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.TypeColor <em>Type Color</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Type Color</em>'.
   * @see org.xtext.tp4.minigobstones.TypeColor
   * @generated
   */
  EClass getTypeColor();

  /**
   * Returns the meta object for the attribute '{@link org.xtext.tp4.minigobstones.TypeColor#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.xtext.tp4.minigobstones.TypeColor#getName()
   * @see #getTypeColor()
   * @generated
   */
  EAttribute getTypeColor_Name();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Black <em>Black</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Black</em>'.
   * @see org.xtext.tp4.minigobstones.Black
   * @generated
   */
  EClass getBlack();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Red <em>Red</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Red</em>'.
   * @see org.xtext.tp4.minigobstones.Red
   * @generated
   */
  EClass getRed();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Blue <em>Blue</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Blue</em>'.
   * @see org.xtext.tp4.minigobstones.Blue
   * @generated
   */
  EClass getBlue();

  /**
   * Returns the meta object for class '{@link org.xtext.tp4.minigobstones.Green <em>Green</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Green</em>'.
   * @see org.xtext.tp4.minigobstones.Green
   * @generated
   */
  EClass getGreen();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  MinigobstonesFactory getMinigobstonesFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.InitStructureImpl <em>Init Structure</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.InitStructureImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getInitStructure()
     * @generated
     */
    EClass INIT_STRUCTURE = eINSTANCE.getInitStructure();

    /**
     * The meta object literal for the '<em><b>Definitions</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference INIT_STRUCTURE__DEFINITIONS = eINSTANCE.getInitStructure_Definitions();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.DefinitionImpl <em>Definition</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.DefinitionImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getDefinition()
     * @generated
     */
    EClass DEFINITION = eINSTANCE.getDefinition();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.ProcedureDefImpl <em>Procedure Def</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.ProcedureDefImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getProcedureDef()
     * @generated
     */
    EClass PROCEDURE_DEF = eINSTANCE.getProcedureDef();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute PROCEDURE_DEF__NAME = eINSTANCE.getProcedureDef_Name();

    /**
     * The meta object literal for the '<em><b>Commands</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PROCEDURE_DEF__COMMANDS = eINSTANCE.getProcedureDef_Commands();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.ConditionImpl <em>Condition</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.ConditionImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getCondition()
     * @generated
     */
    EClass CONDITION = eINSTANCE.getCondition();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.HayBolitasImpl <em>Hay Bolitas</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.HayBolitasImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getHayBolitas()
     * @generated
     */
    EClass HAY_BOLITAS = eINSTANCE.getHayBolitas();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute HAY_BOLITAS__NAME = eINSTANCE.getHayBolitas_Name();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference HAY_BOLITAS__TYPE = eINSTANCE.getHayBolitas_Type();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.CommandsImpl <em>Commands</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.CommandsImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getCommands()
     * @generated
     */
    EClass COMMANDS = eINSTANCE.getCommands();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute COMMANDS__NAME = eINSTANCE.getCommands_Name();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.PutImpl <em>Put</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.PutImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getPut()
     * @generated
     */
    EClass PUT = eINSTANCE.getPut();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PUT__TYPE = eINSTANCE.getPut_Type();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.MoveImpl <em>Move</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.MoveImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getMove()
     * @generated
     */
    EClass MOVE = eINSTANCE.getMove();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MOVE__TYPE = eINSTANCE.getMove_Type();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.IfElseImpl <em>If Else</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.IfElseImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getIfElse()
     * @generated
     */
    EClass IF_ELSE = eINSTANCE.getIfElse();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference IF_ELSE__TYPE = eINSTANCE.getIfElse_Type();

    /**
     * The meta object literal for the '<em><b>Commands</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference IF_ELSE__COMMANDS = eINSTANCE.getIfElse_Commands();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.TypeMovementImpl <em>Type Movement</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.TypeMovementImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getTypeMovement()
     * @generated
     */
    EClass TYPE_MOVEMENT = eINSTANCE.getTypeMovement();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TYPE_MOVEMENT__NAME = eINSTANCE.getTypeMovement_Name();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.WestImpl <em>West</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.WestImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getWest()
     * @generated
     */
    EClass WEST = eINSTANCE.getWest();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.EastImpl <em>East</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.EastImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getEast()
     * @generated
     */
    EClass EAST = eINSTANCE.getEast();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.NorthImpl <em>North</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.NorthImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getNorth()
     * @generated
     */
    EClass NORTH = eINSTANCE.getNorth();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.SouthImpl <em>South</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.SouthImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getSouth()
     * @generated
     */
    EClass SOUTH = eINSTANCE.getSouth();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.TypeColorImpl <em>Type Color</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.TypeColorImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getTypeColor()
     * @generated
     */
    EClass TYPE_COLOR = eINSTANCE.getTypeColor();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TYPE_COLOR__NAME = eINSTANCE.getTypeColor_Name();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.BlackImpl <em>Black</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.BlackImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getBlack()
     * @generated
     */
    EClass BLACK = eINSTANCE.getBlack();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.RedImpl <em>Red</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.RedImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getRed()
     * @generated
     */
    EClass RED = eINSTANCE.getRed();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.BlueImpl <em>Blue</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.BlueImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getBlue()
     * @generated
     */
    EClass BLUE = eINSTANCE.getBlue();

    /**
     * The meta object literal for the '{@link org.xtext.tp4.minigobstones.impl.GreenImpl <em>Green</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.xtext.tp4.minigobstones.impl.GreenImpl
     * @see org.xtext.tp4.minigobstones.impl.MinigobstonesPackageImpl#getGreen()
     * @generated
     */
    EClass GREEN = eINSTANCE.getGreen();

  }

} //MinigobstonesPackage
